﻿using FlashPay.Entity.Response.Bank;
using FlashPay.Entity.Response.Company;
using FlashPay.Entity.Response.Sys;
using System;
using System.Collections.Generic;
using System.Text;

namespace FlashPay.Entity.Request.PaymentInterface
{
    /// <summary>
    /// 第三方接口
    /// </summary>
    public class PaymentInterfaceReponse
    {
        /// <summary>
        /// 编号
        /// </summary>
        public int PaymentInterfaceID { get; set; }
        /// <summary>
        /// 接口公司
        /// </summary>
        public int CompanyID { get; set; }
        /// <summary>
        /// 接口类型
        /// </summary>
        public sbyte PaymentType { get; set; }
        /// <summary>
        /// 接口公司名称
        /// </summary>
        public string CompanyName { get; set; }
        /// <summary>
        /// 密钥
        /// </summary>
        public string SecretKey { get; set; }
        /// <summary>
        /// 付款区间起
        /// </summary>
        public string PaymentStart { get; set; }
        /// <summary>
        /// 付款区间迄
        /// </summary>
        public string PaymentEnd { get; set; }
        /// <summary>
        /// 收款银行
        /// </summary>
        public string WithdrawalBank { get; set; }
        /// <summary>
        /// 收款银行
        /// </summary>
        public List<string> WithdrawalBanks { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ExcludedWithdrawalBank { get; set; }
        /// <summary>
        /// 收款银行
        /// </summary>
        public List<string> ExcludedWithdrawalBanks { get; set; }
        /// <summary>
        /// 存款等级
        /// </summary>
        public string DepositType { get; set; }
        /// <summary>
        /// 存款等级
        /// </summary>
        public List<string> DepositTypes { get; set; }
        /// <summary>
        /// 付款卡数量
        /// </summary>
        public int? PaymentMax { get; set; }
        /// <summary>
        /// 排序
        /// </summary>
        public int SortNo { get; set; }
        /// <summary>
        /// 关闭时间
        /// </summary>
        public string LimitCloseDate { get; set; }
        /// <summary>
        /// 开启时间
        /// </summary>
        public string LimitOpenDate { get; set; }
        /// <summary>
        /// 是否每天执行
        /// </summary>
        public sbyte? LimitRepeat { get; set; }
        /// <summary>
        /// 启用状态
        /// </summary>
        public sbyte LimitStatus { get; set; }
        /// <summary>
        /// 是否启用馀额检查
        /// </summary>
        public sbyte EnableBalanceCheck { get; set; }
        /// <summary>
        /// 馀额
        /// </summary>
        public string Balance { get; set; }

        /// <summary>
        /// 秘钥权限
        /// </summary>
        public string SecretKeyPermission { get; set; }
        
        /// <summary>
        /// 银行列表
        /// </summary>
        public List<BankInfoResponse> BankInfoResponse { get; set; }

        /// <summary>
        /// 公司列表
        /// </summary>
        public List<CompanyResponse> CompanyResponse { get; set; }

        /// <summary>
        /// 配置列表
        /// </summary>
        public List<SysConfigResponse> SysConfigTypeList { get; set; }
    }
}
